home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1993 July / InfoMagic USENET CD-ROM July 1993.ISO / answers / Oberon-FAQ < prev    next >
Encoding:
Text File  |  1993-07-03  |  11.4 KB  |  305 lines

  1. Newsgroups: comp.lang.oberon,comp.answers,news.answers
  2. Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!gatech!swrinde!cs.utexas.edu!uunet!psgrain!m2xenix!mikeg
  3. From: mikeg@psg.com (Mike Gallo)
  4. Subject: Comp.lang.oberon FAQ (monthly)
  5. Expires: Sun, 1 Aug 1993 07:00:00 GMT
  6. Organization: PSGnet, Portland Oregon US
  7. Date: Sat, 3 Jul 1993 21:14:47 GMT
  8. Approved: news-answers-request@MIT.Edu
  9. Message-ID: <1993Jul3.211447.4710@psg.com>
  10. Followup-To: comp.lang.oberon
  11. Summary: This posting contains a list of Frequently Asked Questions
  12.      (and their answers) about Oberon.  It should be read by anyone
  13.      who wishes to post to the Comp.lang.oberon newsgroup.
  14. Lines: 288
  15. Xref: senator-bedfellow.mit.edu comp.lang.oberon:479 comp.answers:1197 news.answers:10004
  16.  
  17. Archive-name: Oberon-FAQ
  18.  
  19.      (*  * *  * *  * *  * *  * *  * *  * *  * *  * *  * *  *)
  20.  
  21.      Thanks to all who have contributed!  Further additions and
  22. corrections are welcome.
  23.  
  24. mikeg@psg.com
  25.  
  26.      (*  * *  * *  * *  * *  * *  * *  * *  * *  * *  * *  *)
  27.  
  28. CONTENTS
  29.  
  30. (1)  Oberon
  31. (2)  Oberon-2
  32. (3)  Modula-3, Object Oberon, and Seneca
  33. (4)  The Oberon system
  34. (5)  System 3
  35. (6)  The Gadgets package
  36. (7)  For more information
  37. (8)  To get an implementation of Oberon
  38.  
  39.  
  40. (1)  OBERON
  41.  
  42. From the release notes to ETH's Oberon
  43.  
  44.           Oberon is both a programming language and an
  45.      operating environment.  It is the final outcome of a
  46.      research project whose aim was an extensible, highly
  47.      integrated and compact operating platform for single-
  48.      user, personal workstations.
  49.  
  50. From "From Modula To Oberon"
  51.  
  52.           The language Oberon has evolved from Modula-2 and
  53.      incorporates the experiences of many years of programming
  54.      in Modula-2.  A significant number of features have been
  55.      eliminated.  They appear to have contributed more to
  56.      language and compiler complexity than to genuine power
  57.      and flexibility of expression.  A small number of
  58.      features have been added, the most significant one being
  59.      the concept of type extension [inheritance].  
  60.           The evolution of a new language that is smaller, yet
  61.      more powerful than its ancestor is contrary to common
  62.      practices and trends, but has inestimable advantages. 
  63.      Apart from simpler compilers, it results in a concise
  64.      defining document, an indispensable prerequisite for any
  65.      tool that must serve in the construction of sophisticated
  66.      and reliable systems. 
  67.  
  68.  
  69. (2)  OBERON-2
  70.  
  71. From "Differences between Oberon and Oberon-2"
  72.  
  73.           Oberon-2 is a true extension of Oberon.  One
  74.      important goal for Oberon-2 was to make object-oriented
  75.      programming easier without sacrificing the conceptual
  76.      simplicity of Oberon.  After three years of using Oberon
  77.      and its experimental offspring Object Oberon, we merged
  78.      our experiences into a single refined version of Oberon. 
  79.      The new features of Oberon-2 are type-bound procedures
  80.      [virtual methods], read-only export of variables and
  81.      record fields, open arrays as pointer base types, and a
  82.      WITH statement with variants.  The FOR statement is
  83.      reintroduced after having been eliminated in the step
  84.      from Modula-2 to Oberon. 
  85.  
  86.  
  87. (3)  MODULA-3, OBJECT OBERON, AND SENECA
  88.  
  89.      Modula-3 is a language designed by DEC Software Research
  90. Center.  Although also a descendant (but not a superset) of Modula-
  91. 2, it is otherwise unrelated to Oberon.  Unless they bear on
  92. Oberon, discussions about Modula-3 are better directed to
  93. Comp.lang.modula3.
  94.      Object Oberon is a now defunct, experimental extension of
  95. Oberon featuring "classes", structures somewhere in between modules
  96. and records.  It evolved into Oberon-2.
  97.      Seneca (soon to be renamed) is a variant of Oberon focusing on
  98. numerical programming.  It is still under development by R.
  99. Griesemer of ETH, but a new report is expected to come out later
  100. this year.
  101.  
  102.  
  103. (4)  THE OBERON SYSTEM
  104.  
  105. From thutt@access.digex.com (Taylor Hutt)
  106.  
  107.           Oberon, the system, is a somewhat graphical user
  108.      interface (Version 3.0 will be more graphical).  Gone are
  109.      the concepts of 'mode' (like insert/overstrike mode of a
  110.      word processor).  The mouse clicks always mean the same
  111.      thing.  However, even though the clicks mean the same
  112.      thing, they have complicated the process (for a novice)
  113.      by creating a new concept called the interclick. 
  114.      Basically, you press a mouse button, hold it down, and
  115.      then press another mouse button.  With three buttons,
  116.      this can be confusing in the beginning.  Button clicks
  117.      provide messages for the system to pass around to the
  118.      viewers.  
  119.           A viewer is a system which handles all open windows
  120.      of a particular type.  When you install Oberon, it comes
  121.      with a Text viewer, and a Graphic viewer.  You, the
  122.      programmer, could easily make a SpreadSheet viewer or a
  123.      AST viewer with little or no effort.  It is up to the
  124.      programmer of the Viewer to determine how output will be
  125.      displayed. (Thus, there is no 'one' answer to how text is
  126.      to be displayed on the screen).  Oberon sends the proper
  127.      messages to the proper viewer, and it is the
  128.      responsibility of the Viewer to maintain the viewed area.
  129.           One of Oberon's biggest advantages is portability. 
  130.      The language is defined more rigidly than many other
  131.      languages, thus source can be ported virtually to any
  132.      other Oberon system.  Data files are also compatible,
  133.      which is really nice.
  134.  
  135. (5)  SYSTEM 3
  136.  
  137. From "Oberon System 3 -- A Realm of Persistent Objects"
  138.  
  139.           System 3 [is] an evolutionary version of the
  140.      original Oberon system.  From our vision and from
  141.      examples like the one in Figure 1 it followed immediately
  142.      that System 3 needs to be settled one important step
  143.      beyond the ordinary state of object-oriented programming
  144.      because it needs to be able to manage hundreds or even
  145.      thousands of persistent objects and components that can
  146.      appear in extensive variety, including at least character
  147.      patterns, formulae, all kinds of figures, pictures,
  148.      gadgets and widgets.  What was obviously needed is a
  149.      central object management and some concept like object
  150.      library.
  151.           It was our declared goal in the System 3 project to
  152.      enhance the power of the original Oberon kernel while
  153.      strictly preserving its spirit of simplicity and its
  154.      modular architecture and structure.  In essence, we have
  155.      mastered this methodological challenge by exploiting,
  156.      generalizing and unifying original notions.  For example,
  157.      many of the original Oberon ingredients like character
  158.      patterns, display frames and viewers are just specialized
  159.      System 3 objects, fonts appear as a variant of object
  160.      libraries and texts are now sequences of arbitrary
  161.      objects that need not be characters.  Also, we have
  162.      adopted the original message broadcast mechanism in the
  163.      display space to implement a greatly generalized
  164.      Model-View-Controller scheme.
  165.           Seen structurally, System 3 differs from the
  166.      original system merely by an additional base module
  167.      called Objects for the handling of persistent objects and
  168.      libraries. As displayed in Figure 2, this module provides
  169.      a common interface platform for the original modules
  170.      Display, Fonts, and Texts.
  171.  
  172. (5)  THE GADGETS SYSTEM
  173.  
  174. From psaladin@iiic.ethz.ch (Patrick Saladin)
  175.  
  176.           The Gadget-System is an experimental system to
  177.      manage graphical user interfaces (GUI). It provides the
  178.      design of GUIs at run-time, which are based on basic
  179.      elements, so called Gadgets.  The system is shipped with
  180.      often used Gadgets, e.g. buttons, sliders, file-browsers
  181.      up to more complex ones, like a picture-editor.  Users
  182.      combine Gadgets at run-time (so called composition) to
  183.      build more complex Gadgets out of simpler ones.  These
  184.      combined Gadgets act as independent units, which can be
  185.      used in the environment.  For example in texts or in
  186.      other more complex Gadgets again.  They also are editable
  187.      at run-time, where ever they occur.  GUIs can be created
  188.      without the need of their application, it is also
  189.      possible to add a GUI to text based Oberon applications. 
  190.      As a consequence, users can create their own GUIs,
  191.      depending on their habits and taste, they can take bits
  192.      out of existing applications and insert them somewhere
  193.      else.  As time passes, more and more different kinds of
  194.      Gadgets will be available.  Additionally, programmers can
  195.      build other Gadget, which provide new functions.  This
  196.      can be achieved by extending existing Gadgets
  197.      (OO-technique) or implementing  new types of Gadgets. 
  198.      The Gadget-system uses the Oberon-Language ver. 1.  It
  199.      can easily be learned if one understands the principles
  200.      of the Oberon-system.
  201.  
  202.  
  203. (6)  FOR MORE INFORMATION
  204.  
  205.      Complete PostScript documentation from ETH is available by
  206. anonymous ftp from:
  207.  
  208.      neptune.inf.ethz.ch:/Oberon/Docu
  209.      gatekeeper.dec.com:/pub/plan/Oberon/Docu
  210.  
  211. "Oberon: A Glimpse at the Future" by Dick Pountain
  212. BYTE
  213. May 1993
  214.  
  215. "Oberon" by Dick Pountain
  216. BYTE
  217. March 1991
  218.  
  219. "From Modula to Oberon" by N. Wirth
  220. Software: Practice and Experience
  221. 18,7 (July 1988) 661-670
  222.  
  223. "The Programming Language Oberon" by N. Wirth
  224. Software: Practice and Experience
  225. 18,7 (July 1988) 671-690
  226.  
  227. "The Oberon System" by N. Wirth and J. Gutknecht
  228. Software: Practice and Experience
  229. 19,9 (September 1989) 857-893
  230.  
  231. The Oberon System: User Guide and Programmer's Manual by M. Reiser,
  232. ACM Press 1992; ISBN 0-201-54422-9
  233.  
  234. Programming in Oberon: Steps Beyond Pascal and Modula-2 by M.
  235. Reiser and N. Wirth, ACM Press 1992; ISBN 0-201-56543-9
  236.  
  237. Project Oberon: The Design of an Operating System and Compiler by
  238. N. Wirth and J. Gutknecht, ACM Press 1992; ISBN 0-201-54428-8
  239.  
  240. Object Oriented Programming in Oberon-2 by H. Moessenboeck,
  241. Springer-Verlag 1993; ISBN 3-650-56411-X
  242.  
  243. A New Approach to Formal Language Definition and Its Application to
  244. Oberon by M. Odersky, Verlag der Fachvereine Zuerich 1989; ISBN 3-
  245. 7281-1732-3
  246.  
  247.  
  248. (7)  TO GET AN IMPLEMENTATION OF OBERON
  249.  
  250.      Mention of a product does not necessarily constitute an
  251. endorsement of that product.
  252.      The original project was launched and carried out by N. Wirth
  253. and J. Gutknecht for the Ceres workstation.  Now, freeware versions
  254. of the Oberon language and system are available for numerous
  255. commercial machines, among them Macintosh, IBM RS/6000, DEC
  256. station, SPARC station and IBM PC/386 compatibles.  These are
  257. available by anonymous ftp from:
  258.  
  259.      neptune.inf.ethz.ch:/Oberon
  260.      gatekeeper.dec.com:/pub/plan/Oberon
  261.  
  262. For Oberon compilers developed outside ETH, contact:
  263.  
  264. VAX/VMS:
  265. ModulaWare GmbH, Wilhelmstr. 17A, D-W 8520 Erlangen/F.R.Germany  
  266. Modula-2 & Oberon-2 Compiler Manufactur
  267. Tel. +49 (9131) 208395, Fax +49 (9131) 28205.
  268. E-mail/Internet:
  269. 100023.2527@compuserve.com
  270. g_dotzel@ame.nbg.sub.org
  271.  
  272. MS-DOS:
  273. Oberon-M (freeware)
  274. neptune.inf.ethz.ch:/Oberon/Oberon-M
  275. gatekeeper.dec.com:/pub/plan/Oberon/Oberon-M
  276. (N.B., Oberon-M is independently produced and has no relation to
  277. ETH or DEC)
  278.  
  279. Real Time Associates Ltd.
  280. Canning House, 59 Canning Road
  281. Croydon, Surrey, CRO 6QF
  282. England
  283. Tel.: 0044-81-656 7333
  284. Fax: 0044-81-655 0401
  285. E-mail: 100023.145@CompuServe.COM
  286.  
  287. COP2 (partial Oberon to C translator)
  288. E-mail: thutt@access.digex.com (Taylor Hutt)
  289.  
  290. Amiga:
  291. A+L AG
  292. Daederiz 61
  293. CH-2540 Grenchen
  294. Tel.: +41 (65) 52 03 11
  295.  
  296. DECstation (Ultrix, OSF/1), Intel386 (SVR4, OS2, Solaris), Sparc
  297. (Solaris)
  298. Office of Commercial Services
  299. Queensland University of Technology
  300. GPO box 2434, Brisbane Q4001
  301. Australia
  302. -- 
  303.  
  304.                 A penny saved is a Congressional oversight.
  305.